//
//  Liu70MJRefreshCollectionView.h
//
//  Created by Liu70 on 2018/1/19.
//  Copyright © 2018年 Liu70. All rights reserved.
//
/*
这是UICollectionView的子类，使collectionview支持上下拉刷新内容的操作。
下拉清空数据重新加载第一页，上拉加载下一页，当下一页没东西了则关闭上拉功能。
如果你在collectionv里使用过【MJHeader || MJFooter】，并且在上下拉回调里和服务器交流的时候，被页码和数据搞得特别火大（不难但是代码量超多的），并并且还没有自创一个解决此类问题的小玩意，
不妨试试Liu70MJRefreshCollectionView吧，这会节省大量的工作~
 
使用这个类的前置条件是集成CoderMJLee大神的MJRefresh。使用方法参见README.md
 */

#import <UIKit/UIKit.h>
@class Liu70MJRefreshCollectionView;

@protocol Liu70MJRefreshCollectionViewDelegate <NSObject>

- (void)liu70MJRefreshCollectionView:(Liu70MJRefreshCollectionView*)collectionView didBeginRefresh:(UICollectionView * (^)(NSMutableArray *))refreshData;

@end

@interface Liu70MJRefreshCollectionView : UICollectionView

@property (nonatomic, assign) NSInteger refreshFirstPage; //【可改动】：上下拉刷新的时候会以这个值为起始页，不设置的话，默认值是1
@property (nonatomic, strong) NSMutableArray* refreshDataArray; //【不要改动】：数据源
@property (nonatomic, assign) NSInteger refreshPage; //【不要改动】：下一次刷新要用的页码，代码里面永远会自动算好
@property (nonatomic, assign) NSInteger refreshPageCount; //【可改动】：一页有多少条东西，默认值是5

@property (nonatomic, weak) id<Liu70MJRefreshCollectionViewDelegate> refreshDelegate; //请让delegate在协议方法里面，执行网络请求，更新数据

- (Liu70MJRefreshCollectionView * (^)(id))refreshDelegateFast;//以链式编程的思想设置refreshDelegate
- (Liu70MJRefreshCollectionView * (^)(NSInteger))refreshFirstPageFast;//以链式编程的思想设置refreshFirstPage
- (Liu70MJRefreshCollectionView * (^)(NSInteger))refreshPageCountFast;//以链式编程的思想设置refreshPageCount

@end
